#ifndef _NULL_POINTER_EXCEPTION_H_
#define _NULL_POINTER_EXCEPTION_H_

////////////////////////////////////////////////////////////////////////////////
// Includes
////////////////////////////////////////////////////////////////////////////////

#include "Exception.hpp"

////////////////////////////////////////////////////////////////////////////////
// Namespaces
////////////////////////////////////////////////////////////////////////////////

namespace Exceptions {

////////////////////////////////////////////////////////////////////////////////
// Implementation
////////////////////////////////////////////////////////////////////////////////

/**
 *  Null pointer exception exception class.
 *	This class creates an exception which should be thrown when trying to access
 *	the memory pointed by a NULL pointer.
 */
 
class NullPointerException : public Exception {

	public :

		/**
		 *  Exception creation.
		 *	@param A specific message.
		 */
		NullPointerException(const std::string comment = "")
		: Exception(comment,"Null pointer exception") {}

};

////////////////////////////////////////////////////////////////////////////////
// Closing Namespaces
////////////////////////////////////////////////////////////////////////////////

}

////////////////////////////////////////////////////////////////////////////////

#endif
